﻿namespace Solution
{
    public static class NullableExtensions
    {
        #region 公共方法

        public static T To<T>(this T? value)
            where T : struct
        {
            return To(value, default(T));
        }

        /// <summary>
        /// 对象如果为null，给默认值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="value"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public static T To<T>(this T? value, T defaultValue)
            where T : struct
        {
            return value ?? defaultValue;
        }

        #endregion 公共方法
    }
}